home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / turbovis / scrsav4.zip / TESTSAVE.PAS < prev   
Pascal/Delphi Source File  |  1994-04-10  |  2KB  |  67 lines

  1. uses      app,drivers,scrsav;
  2. type      TMainApp=object(TApplication)
  3.                      constructor Init;
  4.                      destructor Done;virtual;
  5.                      procedure Idle;virtual;
  6.                      procedure GetEvent(var E:TEvent);virtual;
  7.                      procedure HandleEvent(var E:Tevent);virtual;
  8.                    end;
  9. var        ScreenSaver:PScreenSaver;
  10.  
  11. {----------------------------------------------------------------------------}
  12. constructor TMainApp.Init;
  13. begin
  14.   Inherited Init;
  15.   ScreenSaver:=New(PScreenSaver,Init(MakeWormScreenSaver,1));
  16. end;
  17.  
  18. {----------------------------------------------------------------------------}
  19. destructor TMainApp.Done;
  20. begin
  21.   Dispose(ScreenSaver,Done);
  22.   Inherited Done;
  23. end;
  24.  
  25. {----------------------------------------------------------------------------}
  26. procedure TMainApp.Idle;
  27. var       E:TEvent;
  28. begin
  29.   Inherited Idle;
  30.   if ScreenSaver<>nil then
  31.     ScreenSaver^.CountDown;
  32. end;
  33.  
  34. {----------------------------------------------------------------------------}
  35. procedure TMainApp.GetEvent(var E:TEvent);
  36. begin
  37.   Inherited GetEvent(E);
  38.   if E.What<>evNothing then
  39.     if ScreenSaver<>nil then
  40.       if E.What=evKeyDown then
  41.       begin
  42.         if ScreenSaver^.Saving then
  43.           E.What:=evNothing;
  44.         ScreenSaver^.HeartBeat;
  45.       end else
  46.         if E.What and evMouse<>0 then
  47.           ScreenSaver^.HeartBeat;
  48. end;
  49.  
  50. {----------------------------------------------------------------------------}
  51. procedure TMainApp.HandleEvent(var E:TEvent);
  52. begin
  53.   Inherited HandleEvent(E);
  54.   if E.What=evKeyDown then
  55.     if E.KeyCode=GetAltCode('A') then
  56.       if ScreenSaver<>nil then
  57.         ScreenSaver^.Options;
  58. end;
  59.  
  60. {----------------------------------------------------------------------------}
  61. var       MainApp:TMainApp;
  62.  
  63. begin
  64.   MainApp.Init;
  65.   MainApp.Run;
  66.   MainApp.Done;
  67. end.